package GUI;

import java.awt.*;
import java.util.Random;

/**
 * @ClassName : GraphicsDemo
 * @Author : LV88VL
 * @Date: 2021/3/22 16:51
 * @Description : Graphics类
 *          setColor():设置颜色
 *          setFont（）：设置字体
 *          drawLine（）；绘制一条线
 *          drawRect（）；绘制矩形
 *          drawOval（）；绘制椭圆
 *          drawString（）；绘制一段文字
 *
 */
//绘制一个验证码
class Mypanel extends Panel{
    @Override
    public void paint(Graphics g) {
        //定义验证码宽度
        int width = 160;
        //定义验证码高度
        int height = 40;
        //设置颜色
        g.setColor(Color.LIGHT_GRAY);
        //填充验证码背景
        g.fillRect(0,0,width,height);
        //设置颜色
        g.setColor(Color.BLACK);
        //绘制边框
        g.drawRect(0,0,width-1,height-1);
       //绘制干扰点
        Random r=new Random();
        for (int i = 0; i < 100; i++) {
            int x=r.nextInt(width)-2;
            int y =r.nextInt(height)-2;
            g.drawOval(x,y,2,2);
        }
        //设置验证码的字体
        g.setFont(new Font("黑体",Font.BOLD,30));
        //设置验证码颜色
        g.setColor(Color.BLUE);
        //随机产生一个随机数组
        char [] chars = "qwertyuiopasdfghjklzxcvbnm7894561230.QWERTYUIOPASDFGHJKLZXCVBNM".toCharArray();
        // 定义一个容器
        StringBuilder sb= new StringBuilder();
        for (int i = 0; i < 4; i++) {
            //产生一个随机索引
            int pos =r.nextInt(chars.length);
            //根据索引获取字符
            char c =chars[pos];
            sb.append(c);
        }
        g.drawString(sb.toString(),20,20);
    }
}
public class GraphicsDemo {
    public static void main(String[] args) {
        Frame f=new Frame("验证码");
        Panel panel =new Mypanel();
        f.add(panel);
        f.setSize(200,100);
        //将窗体居中
        f.setLocationRelativeTo(null);
        f.setVisible(true);
    }
}
